package ar.edu.utn.frsf.cidisi.upcolbpip.upgen;

import java.util.Vector;

import ar.edu.utn.frsf.cidisi.upcolbpip.UPColBPIPModel;

public class UPGenerator {

	private UPColBPIPModel modelUpcolbpip;
	
	public UPGenerator(int largo,int niveles){
			
		CreateModel nuevoModelo = new CreateModel(); /* Crea un nuevo modelo limpio UPColBPIP listo para ser modificado*/

		Vector<Vector<String>> combinaciones = (new Backtracking(largo,niveles)).getResult(); /* Genera todos los protocolos posibles*/

		nuevoModelo.addInteractionProtocols(combinaciones); /* Agrega los protocolos al modelo */
		
		UPColBPIPModel modelUpcolbpip = nuevoModelo.getModelUpcolbpip(); /* Guarda el resultado en la variable modelUpcolbpip */
		(new WriteUPColBPIPFile()).createUPColBPIPFile("", modelUpcolbpip); /* Se crea el archivo PNML*/
		
		System.out.print(combinaciones.size()); /* Imprime el numero de combinaciones */
		
	}
	
}
